home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / clx.lha / clx / keysyms.l < prev    next >
Text File  |  1988-09-12  |  16KB  |  402 lines

  1. ;;; -*- Mode:Lisp; Package:XLIB; Syntax:COMMON-LISP; Base:10; Lowercase:YES -*-
  2.  
  3. ;;; Define lisp character to keysym mappings
  4.  
  5. ;;;
  6. ;;;             TEXAS INSTRUMENTS INCORPORATED
  7. ;;;                  P.O. BOX 2909
  8. ;;;                   AUSTIN, TEXAS 78769
  9. ;;;
  10. ;;; Copyright (C) 1987 Texas Instruments Incorporated.
  11. ;;;
  12. ;;; Permission is granted to any individual or institution to use, copy, modify,
  13. ;;; and distribute this software, provided that this complete copyright and
  14. ;;; permission notice is maintained, intact, in all copies and supporting
  15. ;;; documentation.
  16. ;;;
  17. ;;; Texas Instruments Incorporated provides this software "as is" without
  18. ;;; express or implied warranty.
  19. ;;;
  20.  
  21. (in-package 'xlib :use '(lisp))
  22.  
  23. (define-keysym-set :latin-1    (keysym 0 0) (keysym 0 255))
  24. (define-keysym-set :latin-2    (keysym 1 0) (keysym 1 255))
  25. (define-keysym-set :latin-3    (keysym 2 0) (keysym 2 255))
  26. (define-keysym-set :latin-4    (keysym 3 0) (keysym 3 255))
  27. (define-keysym-set :kana    (keysym 4 0) (keysym 4 255))
  28. (define-keysym-set :arabic    (keysym 5 0) (keysym 5 255))
  29. (define-keysym-set :cryllic    (keysym 6 0) (keysym 6 255))
  30. (define-keysym-set :greek    (keysym 7 0) (keysym 7 255))
  31. (define-keysym-set :tech    (keysym 8 0) (keysym 8 255))
  32. (define-keysym-set :special    (keysym 9 0) (keysym 9 255))
  33. (define-keysym-set :publish    (keysym 10 0) (keysym 10 255))
  34. (define-keysym-set :apl        (keysym 11 0) (keysym 11 255))
  35. (define-keysym-set :hebrew    (keysym 12 0) (keysym 12 255))
  36. (define-keysym-set :keyboard    (keysym 255 0) (keysym 255 255))
  37.  
  38. (define-keysym :character-set-switch character-set-switch-keysym)
  39. (define-keysym :left-shift left-shift-keysym)
  40. (define-keysym :right-shift right-shift-keysym)
  41. (define-keysym :left-control left-control-keysym)
  42. (define-keysym :right-control right-control-keysym)
  43. (define-keysym :caps-lock caps-lock-keysym)
  44. (define-keysym :shift-lock shift-lock-keysym)
  45. (define-keysym :left-meta left-meta-keysym)
  46. (define-keysym :right-meta right-meta-keysym)
  47. (define-keysym :left-alt left-alt-keysym)
  48. (define-keysym :right-alt right-alt-keysym)
  49. (define-keysym :left-super left-super-keysym)
  50. (define-keysym :right-super right-super-keysym)
  51. (define-keysym :left-hyper left-hyper-keysym)
  52. (define-keysym :right-hyper right-hyper-keysym)
  53.  
  54. (define-keysym #\space 032)
  55. (define-keysym #\! 033)
  56. (define-keysym #\" 034)
  57. (define-keysym #\# 035)
  58. (define-keysym #\$ 036)
  59. (define-keysym #\% 037)
  60. (define-keysym #\& 038)
  61. (define-keysym #\' 039)
  62. (define-keysym #\( 040)
  63. (define-keysym #\) 041)
  64. (define-keysym #\* 042)
  65. (define-keysym #\+ 043)
  66. (define-keysym #\, 044)
  67. (define-keysym #\- 045)
  68. (define-keysym #\. 046)
  69. (define-keysym #\/ 047)
  70. (define-keysym #\0 048)
  71. (define-keysym #\1 049)
  72. (define-keysym #\2 050)
  73. (define-keysym #\3 051)
  74. (define-keysym #\4 052)
  75. (define-keysym #\5 053)
  76. (define-keysym #\6 054)
  77. (define-keysym #\7 055)
  78. (define-keysym #\8 056)
  79. (define-keysym #\9 057)
  80. (define-keysym #\: 058)
  81. (define-keysym #\; 059)
  82. (define-keysym #\< 060)
  83. (define-keysym #\= 061)
  84. (define-keysym #\> 062)
  85. (define-keysym #\? 063)
  86. (define-keysym #\@ 064)
  87. (define-keysym #\A 065 :lowercase 097)
  88. (define-keysym #\B 066 :lowercase 098)
  89. (define-keysym #\C 067 :lowercase 099)
  90. (define-keysym #\D 068 :lowercase 100)
  91. (define-keysym #\E 069 :lowercase 101)
  92. (define-keysym #\F 070 :lowercase 102)
  93. (define-keysym #\G 071 :lowercase 103)
  94. (define-keysym #\H 072 :lowercase 104)
  95. (define-keysym #\I 073 :lowercase 105)
  96. (define-keysym #\J 074 :lowercase 106)
  97. (define-keysym #\K 075 :lowercase 107)
  98. (define-keysym #\L 076 :lowercase 108)
  99. (define-keysym #\M 077 :lowercase 109)
  100. (define-keysym #\N 078 :lowercase 110)
  101. (define-keysym #\O 079 :lowercase 111)
  102. (define-keysym #\P 080 :lowercase 112)
  103. (define-keysym #\Q 081 :lowercase 113)
  104. (define-keysym #\R 082 :lowercase 114)
  105. (define-keysym #\S 083 :lowercase 115)
  106. (define-keysym #\T 084 :lowercase 116)
  107. (define-keysym #\U 085 :lowercase 117)
  108. (define-keysym #\V 086 :lowercase 118)
  109. (define-keysym #\W 087 :lowercase 119)
  110. (define-keysym #\X 088 :lowercase 120)
  111. (define-keysym #\Y 089 :lowercase 121)
  112. (define-keysym #\Z 090 :lowercase 122)
  113. (define-keysym #\[ 091)
  114. (define-keysym #\\ 092)
  115. (define-keysym #\] 093)
  116. (define-keysym #\^ 094)
  117. (define-keysym #\_ 095)
  118. (define-keysym #\` 096)
  119. (define-keysym #\a 097)
  120. (define-keysym #\b 098)
  121. (define-keysym #\c 099)
  122. (define-keysym #\d 100)
  123. (define-keysym #\e 101)
  124. (define-keysym #\f 102)
  125. (define-keysym #\g 103)
  126. (define-keysym #\h 104)
  127. (define-keysym #\i 105)
  128. (define-keysym #\j 106)
  129. (define-keysym #\k 107)
  130. (define-keysym #\l 108)
  131. (define-keysym #\m 109)
  132. (define-keysym #\n 110)
  133. (define-keysym #\o 111)
  134. (define-keysym #\p 112)
  135. (define-keysym #\q 113)
  136. (define-keysym #\r 114)
  137. (define-keysym #\s 115)
  138. (define-keysym #\t 116)
  139. (define-keysym #\u 117)
  140. (define-keysym #\v 118)
  141. (define-keysym #\w 119)
  142. (define-keysym #\x 120)
  143. (define-keysym #\y 121)
  144. (define-keysym #\z 122)
  145. (define-keysym #\{ 123)
  146. (define-keysym #\| 124)
  147. (define-keysym #\} 125)
  148. (define-keysym #\~ 126)
  149.  
  150. (progn   ;; Semi-standard characters
  151.   (define-keysym #\rubout (keysym 255 255))    ; :tty
  152.   (define-keysym #\tab (keysym 255 009))    ; :tty
  153.   (define-keysym #\linefeed (keysym 255 010))    ; :tty
  154.   (define-keysym #\page (keysym 009 227))    ; :special
  155.   (define-keysym #\return (keysym 255 013))    ; :tty
  156.   (define-keysym #\backspace (keysym 255 008))    ; :tty
  157.   )
  158.  
  159. #+ti
  160. (progn
  161.   (define-keysym #\Inverted-exclamation-mark 161)
  162.   (define-keysym #\american-cent-sign 162)
  163.   (define-keysym #\british-pound-sign 163)
  164.   (define-keysym #\Currency-sign 164)
  165.   (define-keysym #\Japanese-yen-sign 165)
  166.   (define-keysym #\Yen 165)
  167.   (define-keysym #\Broken-bar 166)
  168.   (define-keysym #\Section-symbol 167)
  169.   (define-keysym #\Section 167)
  170.   (define-keysym #\Diaresis 168)
  171.   (define-keysym #\Umlaut 168)
  172.   (define-keysym #\Copyright-sign 169)
  173.   (define-keysym #\Copyright 169)
  174.   (define-keysym #\Feminine-ordinal-indicator 170)
  175.   (define-keysym #\Angle-quotation-left 171)
  176.   (define-keysym #\Soft-hyphen 173)
  177.   (define-keysym #\Shy 173)
  178.   (define-keysym #\Registered-trademark 174)
  179.   (define-keysym #\Macron 175)
  180.   (define-keysym #\Degree-sign 176)
  181.   (define-keysym #\Ring 176)
  182.   (define-keysym #\Plus-minus-sign 177)
  183.   (define-keysym #\Superscript-2 178)
  184.   (define-keysym #\Superscript-3 179)
  185.   (define-keysym #\Acute-accent 180)
  186.   (define-keysym #\Greek-mu 181)
  187.   (define-keysym #\Paragraph-symbol 182)
  188.   (define-keysym #\Paragraph 182)
  189.   (define-keysym #\Pilcrow-sign 182)
  190.   (define-keysym #\Middle-dot 183)
  191.   (define-keysym #\Cedilla 184)
  192.   (define-keysym #\Superscript-1 185)
  193.   (define-keysym #\Masculine-ordinal-indicator 186)
  194.   (define-keysym #\Angle-quotation-right 187)
  195.   (define-keysym #\Fraction-1/4 188)
  196.   (define-keysym #\One-quarter 188)
  197.   (define-keysym #\Fraction-1/2 189)
  198.   (define-keysym #\One-half 189)
  199.   (define-keysym #\Fraction-3/4 190)
  200.   (define-keysym #\Three-quarters 190)
  201.   (define-keysym #\Inverted-question-mark 191)
  202.   (define-keysym #\Multiplication-sign 215)
  203.   (define-keysym #\Eszet 223)
  204.   (define-keysym #\Division-sign 247)
  205. )
  206.  
  207. #+ti
  208. (progn    ;; There are no 7-bit ascii representations for the following
  209.         ;; European characters, so use int-char to create them to ensure
  210.         ;; nothing is lost while sending files through the mail.
  211.   (define-keysym (int-char 192) 192 :lowercase 224)
  212.   (define-keysym (int-char 193) 193 :lowercase 225)
  213.   (define-keysym (int-char 194) 194 :lowercase 226)
  214.   (define-keysym (int-char 195) 195 :lowercase 227)
  215.   (define-keysym (int-char 196) 196 :lowercase 228)
  216.   (define-keysym (int-char 197) 197 :lowercase 229)
  217.   (define-keysym (int-char 198) 198 :lowercase 230)
  218.   (define-keysym (int-char 199) 199 :lowercase 231)
  219.   (define-keysym (int-char 200) 200 :lowercase 232)
  220.   (define-keysym (int-char 201) 201 :lowercase 233)
  221.   (define-keysym (int-char 202) 202 :lowercase 234)
  222.   (define-keysym (int-char 203) 203 :lowercase 235)
  223.   (define-keysym (int-char 204) 204 :lowercase 236)
  224.   (define-keysym (int-char 205) 205 :lowercase 237)
  225.   (define-keysym (int-char 206) 206 :lowercase 238)
  226.   (define-keysym (int-char 207) 207 :lowercase 239)
  227.   (define-keysym (int-char 208) 208 :lowercase 240)
  228.   (define-keysym (int-char 209) 209 :lowercase 241)
  229.   (define-keysym (int-char 210) 210 :lowercase 242)
  230.   (define-keysym (int-char 211) 211 :lowercase 243)
  231.   (define-keysym (int-char 212) 212 :lowercase 244)
  232.   (define-keysym (int-char 213) 213 :lowercase 245)
  233.   (define-keysym (int-char 214) 214 :lowercase 246)
  234.   (define-keysym (int-char 215) 215)
  235.   (define-keysym (int-char 216) 216 :lowercase 248)
  236.   (define-keysym (int-char 217) 217 :lowercase 249)
  237.   (define-keysym (int-char 218) 218 :lowercase 250)
  238.   (define-keysym (int-char 219) 219 :lowercase 251)
  239.   (define-keysym (int-char 220) 220 :lowercase 252)
  240.   (define-keysym (int-char 221) 221 :lowercase 253)
  241.   (define-keysym (int-char 222) 222 :lowercase 254)
  242.   (define-keysym (int-char 223) 223)
  243.   (define-keysym (int-char 224) 224)
  244.   (define-keysym (int-char 225) 225)
  245.   (define-keysym (int-char 226) 226)
  246.   (define-keysym (int-char 227) 227)
  247.   (define-keysym (int-char 228) 228)
  248.   (define-keysym (int-char 229) 229)
  249.   (define-keysym (int-char 230) 230)
  250.   (define-keysym (int-char 231) 231)
  251.   (define-keysym (int-char 232) 232)
  252.   (define-keysym (int-char 233) 233)
  253.   (define-keysym (int-char 234) 234)
  254.   (define-keysym (int-char 235) 235)
  255.   (define-keysym (int-char 236) 236)
  256.   (define-keysym (int-char 237) 237)
  257.   (define-keysym (int-char 238) 238)
  258.   (define-keysym (int-char 239) 239)
  259.   (define-keysym (int-char 240) 240)
  260.   (define-keysym (int-char 241) 241)
  261.   (define-keysym (int-char 242) 242)
  262.   (define-keysym (int-char 243) 243)
  263.   (define-keysym (int-char 244) 244)
  264.   (define-keysym (int-char 245) 245)
  265.   (define-keysym (int-char 246) 246)
  266.   (define-keysym (int-char 247) 247)
  267.   (define-keysym (int-char 248) 248)
  268.   (define-keysym (int-char 249) 249)
  269.   (define-keysym (int-char 250) 250)
  270.   (define-keysym (int-char 251) 251)
  271.   (define-keysym (int-char 252) 252)
  272.   (define-keysym (int-char 253) 253)
  273.   (define-keysym (int-char 254) 254)
  274.   (define-keysym (int-char 255) 255)
  275.   )
  276.  
  277. #+lispm  ;; Nonstandard characters
  278. (progn 
  279.   (define-keysym #\center-dot (keysym 183))    ; :latin-1
  280.   (define-keysym #\down-arrow (keysym 008 254))    ; :technical
  281.   (define-keysym #\alpha (keysym 007 225))    ; :greek
  282.   (define-keysym #\beta (keysym 007 226))    ; :greek
  283.   (define-keysym #\and-sign (keysym 008 222))    ; :technical
  284.   (define-keysym #\not-sign (keysym 172))    ; :latin-1
  285.   (define-keysym #\epsilon (keysym 007 229))    ; :greek
  286.   (define-keysym #\pi (keysym 007 240))        ; :greek
  287.   (define-keysym #\lambda (keysym 007 235))    ; :greek
  288.   (define-keysym #\gamma (keysym 007 227))    ; :greek
  289.   (define-keysym #\delta (keysym 007 228))    ; :greek
  290.   (define-keysym #\up-arrow (keysym 008 252))    ; :technical
  291.   (define-keysym #\plus-minus (keysym 177))    ; :latin-1
  292.   (define-keysym #\infinity (keysym 008 194))    ; :technical
  293.   (define-keysym #\partial-delta (keysym 008 239))    ; :technical
  294.   (define-keysym #\left-horseshoe (keysym 011 218))    ; :apl
  295.   (define-keysym #\right-horseshoe (keysym 011 216))    ; :apl
  296.   (define-keysym #\up-horseshoe (keysym 011 195))    ; :apl
  297.   (define-keysym #\down-horseshoe (keysym 011 214))    ; :apl
  298.   (define-keysym #\double-arrow (keysym 008 205))    ; :technical
  299.   (define-keysym #\left-arrow (keysym 008 251))    ; :technical
  300.   (define-keysym #\right-arrow (keysym 008 253))    ; :technical
  301.   (define-keysym #\not-equals (keysym 008 189))    ; :technical
  302.   (define-keysym #\less-or-equal (keysym 008 188))    ; :technical
  303.   (define-keysym #\greater-or-equal (keysym 008 190))    ; :technical
  304.   (define-keysym #\equivalence (keysym 008 207))    ; :technical
  305.   (define-keysym #\or-sign (keysym 008 223))    ; :technical
  306.   (define-keysym #\integral (keysym 008 191))    ; :technical
  307.   (define-keysym #\null (keysym 255 107))    ; :function
  308.   (define-keysym #\clear-input (keysym 255 011))    ; :tty
  309.   (define-keysym #\help (keysym 255 106))    ; :function
  310.   (define-keysym #\refresh (keysym 255 097))    ; :function
  311.   (define-keysym #\abort (keysym 255 105))    ; :function
  312.   (define-keysym #\resume (keysym 255 098))    ; :function
  313.   (define-keysym #\end (keysym 255 087))    ; :cursor
  314.   (define-keysym #\escape (keysym 255 027))    ; :tty
  315. ;;#\universal-quantifier
  316. ;;#\existential-quantifier
  317. ;;#\circle-plus
  318. ;;#\circle-cross same as #\circle-x
  319.   )
  320.  
  321. #+genera
  322. (progn
  323. ;;#\network
  324. ;;#\symbol-help
  325.   (define-keysym #\lozenge (keysym 009 224))    ; :special
  326.   (define-keysym #\suspend (keysym 255 019))    ; :tty
  327.   (define-keysym #\function (keysym 255 032))    ; :function
  328.   (define-keysym #\square (keysym 010 231))    ; :publishing
  329.   (define-keysym #\circle (keysym 010 230))    ; :publishing
  330.   (define-keysym #\triangle (keysym 010 232))    ; :publishing
  331.   (define-keysym #\scroll (keysym 255 086))    ; :cursor
  332.   (define-keysym #\select (keysym 255 096))    ; :function
  333.   (define-keysym #\complete (keysym 255 104))    ; :function
  334.   )
  335.  
  336. #+ti
  337. (progn
  338.   (define-keysym #\break (keysym 255 019))    ; :tty
  339.   (define-keysym #\terminal (keysym 255 032))    ; :function
  340.   (define-keysym #\system (keysym 255 096))    ; :function
  341. ;;(define-keysym #\home (keysym 255 080))        ; :cursor
  342.   (define-keysym #\left-arrow (keysym 255 081))    ; :cursor
  343.   (define-keysym #\up-arrow (keysym 255 082))    ; :cursor
  344.   (define-keysym #\right-arrow (keysym 255 083))    ; :cursor
  345.   (define-keysym #\down-arrow (keysym 255 084))    ; :cursor
  346.   (define-keysym #\left (keysym 255 085))    ; :cursor    ;Prior, Previous
  347.   (define-keysym #\middle (keysym 255 086))    ; :cursor    ;Next
  348.   (define-keysym #\end (keysym 255 087))    ; :cursor
  349.   (define-keysym #\right (keysym 255 088))    ; :cursor    ;Begin
  350.   (define-keysym #\undo (keysym 255 101))    ; :function
  351.   (define-keysym #\keypad-space (keysym 255 128))    ; :keypad
  352.   (define-keysym #\keypad-tab (keysym 255 137))    ; :keypad
  353.   (define-keysym #\keypad-enter (keysym 255 141))    ; :keypad
  354.   (define-keysym #\f1 (keysym 255 145))        ; :keypad
  355.   (define-keysym #\f2 (keysym 255 146))        ; :keypad
  356.   (define-keysym #\f3 (keysym 255 147))        ; :keypad
  357.   (define-keysym #\f4 (keysym 255 148))        ; :keypad
  358.   (define-keysym #\f1 (keysym 255 190))        ; :keypad
  359.   (define-keysym #\f2 (keysym 255 191))        ; :keypad
  360.   (define-keysym #\f3 (keysym 255 192))        ; :keypad
  361.   (define-keysym #\f4 (keysym 255 193))        ; :keypad
  362.   (define-keysym #\keypad-plus (keysym 255 171))    ; :keypad
  363.   (define-keysym #\keypad-comma (keysym 255 172))    ; :keypad
  364.   (define-keysym #\keypad-minus (keysym 255 173))    ; :keypad
  365.   (define-keysym #\keypad-period (keysym 255 174))    ; :keypad
  366.   (define-keysym #\keypad-0 (keysym 255 176))    ; :keypad
  367.   (define-keysym #\keypad-1 (keysym 255 177))    ; :keypad
  368.   (define-keysym #\keypad-2 (keysym 255 178))    ; :keypad
  369.   (define-keysym #\keypad-3 (keysym 255 179))    ; :keypad
  370.   (define-keysym #\keypad-4 (keysym 255 180))    ; :keypad
  371.   (define-keysym #\keypad-5 (keysym 255 181))    ; :keypad
  372.   (define-keysym #\keypad-6 (keysym 255 182))    ; :keypad
  373.   (define-keysym #\keypad-7 (keysym 255 183))    ; :keypad
  374.   (define-keysym #\keypad-8 (keysym 255 184))    ; :keypad
  375.   (define-keysym #\keypad-9 (keysym 255 185))    ; :keypad
  376.   (define-keysym #\keypad-equal (keysym 255 189))    ; :keypad
  377.   (define-keysym #\f1 (keysym 255 192))        ; :function
  378.   (define-keysym #\f2 (keysym 255 193))        ; :function
  379.   (define-keysym #\f3 (keysym 255 194))        ; :function
  380.   (define-keysym #\f4 (keysym 255 195))        ; :function
  381.   (define-keysym #\vt (keysym 009 233))        ; :special ;; same as #\delete
  382.   )
  383.  
  384. #+ti
  385. (progn  ;; Explorer specific characters
  386.   (define-keysym #\Call (keysym 131))        ; :latin-1
  387.   (define-keysym #\Macro (keysym 133))        ; :latin-1
  388.   (define-keysym #\Quote (keysym 142))        ; :latin-1
  389.   (define-keysym #\Hold-output (keysym 143))    ; :latin-1
  390.   (define-keysym #\Stop-output (keysym 144))    ; :latin-1
  391.   (define-keysym #\Status (keysym 147))        ; :latin-1
  392.   (define-keysym #\Center (keysym 156))        ; :latin-1
  393.   (define-keysym #\Network (keysym 158))    ; :latin-1
  394.   (define-keysym #\no-break-space (keysym 160))    ; :latin-1
  395.  
  396.   (define-keysym #\circle-plus (keysym 13))    ; :latin-1
  397.   (define-keysym #\universal-quantifier (keysym 20))    ; :latin-1
  398.   (define-keysym #\existential-quantifier (keysym 21))    ; :latin-1
  399.   (define-keysym #\circle-cross (keysym 22))    ; :latin-1
  400.   )
  401.  
  402.